home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
pascal
/
tpb4_src.zip
/
TPB.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1988-09-13
|
5KB
|
131 lines
(*****************************************************************************)
(* *)
(* TPBoard - A Turbo Pascal Bulletin Board System *)
(* *)
(* Copyright (c) 1987,88 by *)
(* Jon Schneider & Rick Petersen *)
(* *)
(* Portions Copyright (c) 1986,87 by *)
(* Steve Fox & Les Archambault *)
(* *)
(* All commercial rights reserved. *)
(* *)
(* *)
(* This program is based on Les Archambault's PICS, which in turn was *)
(* based on ROS Vers 3.4 by Steve Fox. It is NOT public domain. You *)
(* are not allowed to use any of it's code in any commercial product. *)
(* *)
(* The code uses portions of the 'Turbo Professional' library. It *)
(* will not compile without it. It also uses 'Overlay Manager', but *)
(* you can compile without it as long as you remove 'Overmgr' from *)
(* the 'Uses' statement in TPBMain. If you don't use the Overlay *)
(* Manager, you may not be able to 'Type' from within Archives. *)
(* *)
(* This program also uses the Database Toolbox from Borland. You MUST *)
(* have it before compiling, as it uses B+Trees for the users record. *)
(* *)
(* Additional thanks to: *)
(* *)
(* Chuck Forsberg - for his splendid protocol engine, DSZ. *)
(* Darrell Pittman - for his Quotes package. *)
(* Bob Hartman - for his excellent FidoNet programs. *)
(* Ted Lassagne - for his EXDATE unit. *)
(* Tim Kokkonen - for his Turbo Pascal tools, both commercial and PD. *)
(* *)
(*****************************************************************************)
{For update & modification history see the file TPB-UPD.HIS.}
{$R-} {Range checking off}
{$B-} {Boolean complete evaluation off}
{$S-} {Stack checking off}
{$I+} {I/O checking on}
{$N-} {No numeric coprocessor}
{$M $4000, $4000, $A0000}
program TPBoard;
Uses
TPCrt, Globals, Core1, Core2, Utilmnu1,
FileMnu1, MsgEntr, Sysop4, Initial1,
Initial2, Loginout, TPBMain;
begin { TPBoard }
CheckBreak := False;
num_params := ParamCount;
cmd_tail := num_params > 0;
System_Init;
cold_start;
setup;
wait_for_user;
check_300_restrict;
while not fini do
begin
login;
if Online and in_use then
set_initial_areas;
while Online and in_use do
begin
WriteLn(Com);
if op_chat then
op_chat := chat;
check_time;
Make_Prompt;
Write_status_line;
WriteLn(Com);
st := prompt(st, 70, 'ES?M');
if Length(st) >= 1 then
ch := st[1]
else
ch := ' ';
if (not op_chat) then
begin
case mode of
message_mode :
process_messages;
files_mode :
process_files;
utility_mode :
process_utility;
sysop_mode :
process_sysop;
end;
end;
if online and (not in_use) and (not macro_in_progress) then
begin
WriteLn(Com);
in_use := (not ask('Terminate this call', 'Y'));
end;
end; {online and in use}
if in_library or in_arc then
ArcLbr;
if audit_on then
toggle_audit;
if (user_rec.fn <> 'SYSOP') and Online then
begin
if not valid_pw then
mesg_enter('S')
else if ask('Do you have a message for the sysop', 'N') then
mesg_enter('S');
end;
wrapup;
if cmd_tail then
begin
System_De_Init;
ClrScr;
Halt
end;
setup;
wait_for_user;
check_300_restrict;
end;
System_De_Init;
ClrScr;
end. { of TPB.PAS }